package com.TanNgee.proxy.dynamicProxy.jdkDynamicProxy;

/**
 * @author 陈毅
 * @create 2022/3/19 20:58
 */

import java.lang.reflect.Proxy;

/**
 * 获取动态代理对象的工厂类
 */
public class JdkProxyFactory {
    public static Object getProxy(Object target) {
        /*
            public static Object newProxyInstance(ClassLoader loader,
                                          Class<?>[] interfaces,
                                          InvocationHandler h)
         */
        return Proxy.newProxyInstance(
                target.getClass().getClassLoader(), // 目标类的类加载
                target.getClass().getInterfaces(),  // 代理需要实现的接口，可指定多个
                new DebugInvocationHandler(target));   // 代理对象对应的自定义 InvocationHandler
    }
}
